package com.fc.mall.dao;

import com.fc.mall.dto.MemberStatsInfo;
import com.fc.mall.dto.OrderSalePerDayInfo;
import com.fc.mall.dto.OrderSaleStatsInfo;
import com.fc.mall.dto.OrderSaleSummaryStatsInfo;
import com.fc.mall.dto.OrderStatusStatsInfo;
import com.fc.mall.dto.ProductStatsInfo;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface SmsHomeStatsDao {

    OrderSaleStatsInfo getOrderSaleStats(@Param("_today") Date today, @Param("_yesterday") Date yesterday, @Param("_recentSevenDay") Date recentSevenDay);

    OrderStatusStatsInfo getOrderStatusStats();

    ProductStatsInfo getProductStats();

    MemberStatsInfo getMemberStats(@Param("_today") Date today, @Param("_yesterday") Date yesterday, @Param("_month") Date month);

    OrderSaleSummaryStatsInfo getOrderSaleSummaryStats(@Param("_week") Date startOfWeek, @Param("_lastWeek") Date startOfLastWeek,
                                                       @Param("_month") Date startOfMonth, @Param("_lastMonth") Date startOfLastMonth);

    List<OrderSalePerDayInfo> getOrderSaleOfWeek(@Param("_startOfWeek") Date startOfWeek, @Param("_endOfWeek") Date endOfWeek);
}
